// Procedimento econométrico - Tabelas 1 e 2 - Seção 4.6

// Banco original em formato xlsx.
// Aba "Dados Questionários", construída pelo agrupamento das respostas, a partir da aba "Dados Questionários" do arquivo "Base de dados Seguro Auto Comportamental.xlsx"
// Foram excluídos dos cálculos três respostas incompletas


log using "I:\RAC\Seguro Auto comportamental Jan 2021\Dados\Procedimento_Econometrico.smcl", replace
 
clear

// Leitura do banco de dados
import excel "I:\RAC\Seguro Auto comportamental Jan 2021\Dados\Base de dados Seguro Auto Comportamental.xlsx", sheet("Dados contínuos") cellrange(C1:W164) firstrow

// Renomear e definir as variáveis básicas 
rename D cara_coroa
rename M idade

rename ArrowPrattRelativo arrowprattrelativ

gen est_civil = 1 if N == "S"
replace est_civil = 0 if N == "C" | N == "D"

gen sexo = 1 if O == "M"
replace sexo = 0 if O == "F"

gen tem_carro = 1 if V == "SIM POSSUO"
replace tem_carro = 0 if V == "NÃO JÁ POSSUI" | V == "NÃO NUNCA"

gen tem_seguro = 1 if W == "SIM POSSUO"
replace tem_seguro = 0 if W == "NÃO JÁ POSSUI" | W == "NÃO NUNCA" | W == "NÃO POSSUO"

gen seguro_teste3 = 1 if V == "SIM POSSUO" & V == "SIM POSSUO"
replace seguro_teste3 = 0 if V == "SIM POSSUO" & (W == "NÃO JÁ POSSUI" | W == "NÃO NUNCA")
replace seguro_teste3 = 1 if V == "NÃO JÁ POSSUI" & (W == "NÃO JÁ POSSUI")
replace seguro_teste3 = 0 if V == "NÃO JÁ POSSUI" & (W == "NÃO NUNCA")


// Geração de faixas de renda auxiliares
gen nova_faixa_renda_1 = 1 if Q == "NÃO POSSUO" | Q == "até 1" | Q == "ATÉ 1" | Q == "1 A 2" | Q == "2 A 3"
replace nova_faixa_renda_1  = 0 if Q == "3 A 5" | Q == "5 A 10"  | Q == "10 A 15" | Q == "15 A 20" | Q == "20+" 

gen nova_faixa_renda_2 = 1 if Q == "3 A 5" | Q == "5 A 10" 
replace nova_faixa_renda_2  = 0 if Q == "NÃO POSSUO" | Q == "até 1" | Q == "ATÉ 1" |  Q == "1 A 2" | Q == "2 A 3" | Q == "10 A 15" |Q == "15 A 20" | Q == "20+" 

gen nova_faixa_renda_3 = 1 if Q == "10 A 15" |Q == "15 A 20" | Q == "20+" 
replace nova_faixa_renda_3  = 0 if Q == "NÃO POSSUO" | Q == "até 1" | Q == "ATÉ 1" | Q == "1 A 2" | Q == "2 A 3" |  Q == "3 A 5" | Q == "5 A 10" 

// Grupos de escolaridade auxiliares
gen d1_esc = 1 if P == "EM COMP" | P == "EM INCOMP" | P == "ES INCOMP"
replace d1_esc = 0 if P == "ES COMP"  | P == "PÓS"
gen d2_esc = 1 if P == "ES COMP"
replace d2_esc = 0 if P == "EM COMP" | P == "EM INCOMP" | P == "ES INCOMP" | P == "PÓS"
gen d3_esc = 1 if P == "PÓS"
replace d3_esc = 0 if P == "EM COMP" | P == "EM INCOMP" | P == "ES COMP" | P == "ES INCOMP"

// Grupos de idade auxiliares
gen grupo_idade_11 = 1 if idade<=25
replace grupo_idade_11 = 0 if idade>25 & idade~=.

gen grupo_idade_21 = 1 if idade>25 & idade<=50
replace grupo_idade_21 = 0 if (idade<=25 | idade>50) & idade~=.

gen grupo_idade_31 = 1 if idade>=51 & idade~=.
replace grupo_idade_31 = 0 if idade<=50 & idade~=.

// Geração das dummies usadas no Probit
// Educação
gen d_e = 0 if d3_esc ==1
replace d_e = 1 if d1_esc ==1
replace d_e = 2 if d2_esc ==1

// Renda
gen d_r = 0 if nova_faixa_renda_3 ==1
replace d_r = 1 if nova_faixa_renda_1 ==1
replace d_r = 2 if nova_faixa_renda_2 ==1

// Idade
gen d_i = 0 if grupo_idade_31 ==1
replace d_i = 1 if grupo_idade_11 ==1
replace d_i = 2 if grupo_idade_21 ==1

// Correlações de Spearman entre as variáveis categóricas
spearman d_r d_e if seguro_teste3 ~=.
spearman d_r d_i if seguro_teste3 ~=.
spearman d_e d_i if seguro_teste3 ~=.

// Correlação entre Arrow Pratt e as outras variáveis dicotômicas
pwcorr arrowprattrelativ est_civil sexo d_e d_r d_i if seguro_teste3~=., star(5)

// Regressão - Tabela 1
probit seguro_teste3 arrowprattrelativ i.est_civil i.d_i i.d_e i.d_r, rob
outreg2 using "I:\RAC\Seguro Auto comportamental Jan 2021\Dados\resultado probits", see word replace cttop(full) bdec(4) addstat (bdec(4) Pseudo-R: , e(r2_p) )

// [press enter para prosseguir]

// Margins - Tabela 2
margins i.d_e i.d_r i.d_i, atmeans

// Testes para verificar se os coeficientes são iguais

test 0.d_e = 1.d_e
test 0.d_e = 2.d_e
test 1.d_e = 2.d_e
test 0.d_i = 1.d_i
test 0.d_i = 2.d_i
test 1.d_i = 2.d_i
test 0.d_r = 1.d_r
test 0.d_r = 2.d_r
test 1.d_r = 2.d_r
